import re


# 44  088  2019 06 20   45687
def is_valid_chinese_id_card(id_card):
    # 判断身份号码是否正确
    pattern = r'^[1-9]\d{5}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|[Xx])$'
    return bool(re.match(pattern, id_card))


id_card = "11010519491231002X"
print(is_valid_chinese_id_card(id_card))
